const app = getApp();

// 需要登录才能访问的页面列表
const AUTH_REQUIRED_PAGES = [
  '/pages/mine/mine',
  '/pages/editUserInfo/editUserInfo',
  '/pages/loanRecords/loanRecords',
  '/pages/upload/upload',
  '/pages/index/index',
  '/pages/category/category',
];

// 检查当前页面是否需要登录
export const isAuthRequiredPage = (url) => {
  return AUTH_REQUIRED_PAGES.some(page => url.includes(page));
};

// 检查登录状态
export const checkLoginStatus = () => {
  // 检查Authorization是否存在且不为空
  return !!(app.Authorization);
};

// 检查登录状态，未登录则跳转到登录页面
export const checkLogin = (redirectUrl) => {
  console.log(checkLoginStatus())
  if (!checkLoginStatus()) {
    // 未登录，显示提示
    wx.showToast({
      title: '请先登录',
      icon: 'none',
      duration: 1500
    });
    
    // 延迟跳转，让用户看到提示
    setTimeout(() => {
      wx.switchTab({
        url: '/pages/mine/mine'
      });
    }, 1500);
    
    return false;
  }
  
  return true;
};

// 全局路由守卫
export const globalRouteGuard = (toUrl) => {
  // 如果是需要登录的页面，检查登录状态
  if (isAuthRequiredPage(toUrl)) {
    return checkLogin(toUrl);
  }
  
  // 不需要登录的页面直接允许访问
  return true;
};